The present technology relates to programming operations in a memory device. Semiconductor memory has become increasingly popular for use in various electronic devices. For example, non-volatile semiconductor memory is used in cellular telephones, digital cameras, personal digital assistants, mobile computing devices, non-mobile computing devices and other devices. Flash memory is among the most popular type of non-volatile semiconductor memories. With flash memory, the contents of an entire memory array can be erased in one step.
For example, two-dimensional NAND memory is one type of flash memory in which a floating gate is positioned above and insulated from a channel region in a semiconductor substrate. The floating gate is positioned between the source and drain regions. A control gate is provided over and insulated from the floating gate. The threshold voltage (Vth) of the transistor thus formed is controlled by the amount of charge that is retained on the floating gate. That is, the minimum amount of voltage that must be applied to the control gate before the transistor is turned on to permit conduction between its source and drain is controlled by the level of charge on the floating gate.
Recently, ultra high density storage devices have been proposed using a three-dimensional memory structure. One example is the Bit Cost Scalable (BiCS) architecture in which the memory device is formed from an array of alternating conductive and dielectric layers. A memory hole is formed in the layers and the hole is filled with charge-storing materials. A straight NAND string extends in one memory hole, while a pipe- or U-shaped NAND string (P-BiCS) includes a pair of vertical columns of memory cells which extend in two memory holes and which are joined by a bottom back gate. Control gates of the memory cells are provided by the conductive layers.
Techniques are desired for efficiently performing programming operations in a memory device.